#include <cstdio>
#include <list>
#include <iostream>
#include <algorithm>
using namespace std;
list<int>m[300010];
int main()
{
	int t,opn,op,s,v,n;
	scanf("%d",&t);
	while(t--)
	{
		scanf("%d %d",&n,&opn);
		for(int i = 1;i<=n;i++)
		{
			m[i].clear();
		}
		while(opn--)
		{
			scanf("%d",&op);
			if(op==1)
			{
				scanf("%d %d",&s,&v);
				m[s].push_back(v);
			}
			else if(op==2)
			{
				scanf("%d",&s);
				if(m[s].empty()) printf("EMPTY\n");
				else
				{
					printf("%d\n",m[s].back());
					m[s].pop_back();
				}
			}
			else
			{
				scanf("%d %d",&s,&v);
				m[s].splice(m[s].end(),m[t]);
			}
		}
	}
	
}
